#include<iostream>

using namespace tsd;

class Solution {
public:
    int smallestValue(int n) {
        int res=n;
        while(1)
        {
            int ans=0,_n=n;
            for(int i=2;i<=_n/i;++i)
            {
                while(_n%i==0)
                {
                    ans+=i;
                    _n/=i;
                }
            }
            if(_n>1) ans+=_n;
            if(ans==n) return ans;
            n=ans;
        }
        return res;
    }
};